greedy implementation strings

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;

#define opt() ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define endl '\n'
#define ll long long
#define ld long double
int main()
{
    opt();
    ll t;
    cin>>t;

    while(t--)
    {
        ll n;
        cin>>n;
        string s;
        cin>>s;
        string ans="";
        for(ll i=n-1;i>=0;)
        {
            if(s[i]=='a' || s[i]=='e')
            {
                for(ll j=i;j>=i-1;j--)
                {
                    ans+=s[j];
                }
                i-=2;
            }
            else
            {
                for(ll j=i;j>=i-2;j--)
                {
                    ans+=s[j];
                }
                i-=3;
            }
            ans+='.';
        }
        ans.pop_back();
        reverse(ans.begin(),ans.end());
        cout<<ans<<endl;
    }
}


Comments

Submit
0 Comments
More Questions

1382A - Common Subsequence
1512D - Corrupted Array
667B - Coat of Anticubism
284B - Cows and Poker Game
1666D - Deletive Editing
1433D - Districts Connection
2B - The least round way
1324A - Yet Another Tetris Problem
246B - Increase and Decrease
22E - Scheme
1566A - Median Maximization
1278A - Shuffle Hashing
1666F - Fancy Stack
1354A - Alarm Clock
1543B - Customising the Track
1337A - Ichihime and Triangle
1366A - Shovels and Swords
919A - Supermarket
630C - Lucky Numbers
1208B - Uniqueness
1384A - Common Prefixes
371A - K-Periodic Array
1542A - Odd Set
1567B - MEXor Mixup
669A - Little Artem and Presents
691B - s-palindrome
851A - Arpa and a research in Mexican wave
811A - Vladik and Courtesy
1006B - Polycarp's Practice
1422A - Fence